<?php
namespace app\index\controller;

use think\Controller;
use think\Request;
use think\Session;
use think\Db;
use think\Cookie;

class Login extends Controller
{
    public function index()
    {
        // 注册页面
        return view('index@Login/index',[
            'title' => '注册用户'
        ]);
    }

    /**
     * 登录验证
     * @param Request $request
     * @return string
     * @throws \think\exception\DbException
     */
    public function dologin(Request $request)
    {
        // 获取表单传值
        $res = $request->post();
        // 删除字段之外的name值
        unset($res['source']);
        unset($res['redir']);
        unset($res['login']);
        // 判断是否为邮箱
        if(strpos($res['form_email'],'@') !==false){
            // 获取字段值并与数据库比较
            $data['email'] = $res['form_email'];
            $data['password'] = md5($res['form_password']);
            $list = db('h_user')->where($data)->where('status', '1')->find();
            // 判断结果
            if($list){
                //是否记住密码  存session 和 cookie
                if(isset($res['remember'])){
                    Session::set('id', $list['id']);
                    Session::set('name', $list['name']);
                    Session::set('password', $list['password']);
                    Session::set('email', $list['email']);
                    Session::set('phone', $list['phone']);
                    Cookie::set('id', $list['id'], 3600*24*7);
                    Cookie::set('name', $list['name'], 3600*24*7);
                    Cookie::set('password', $list['password'], 3600*24*7);
                    Cookie::set('email', $list['email'], 3600*24*7);
                    Cookie::set('phone', $list['phone'], 3600*24*7);
                }else{
                    Session::set('id', $list['id']);
                    Session::set('name', $list['name']);
                    Session::set('password', $list['password']);
                    Session::set('email', $list['email']);
                    Session::set('phone', $list['phone']);
                }
                return $this->redirect('index/Index/index');
            }else{
                return $this->success('用户不存在/密码不正确', 'index/Login/index');
            }
        }else{
            return "<script>alert('邮箱输入错误，请重新输入');history.go(-1);</script>";
        }
    }

    //电话登录
    public function smslogin(Request $request)
    {
        $res = $request->post();
        if ($res['form'] == session::get('verify')) {
            $list = Db::name('h_user')
                    ->where('phone',$res['phone'])
                    ->where('status','1')
                    ->find();
            if ($list) {

                //是否记住密码  存session 和 cookie
                if(isset($res['remember'])){
                    Session::set('id', $list['id']);
                    Session::set('name', $list['name']);
                    Session::set('password', $list['password']);
                    Session::set('email', $list['email']);
                    Session::set('phone', $list['phone']);
                    Cookie::set('id', $list['id'], 3600*24*7);
                    Cookie::set('name', $list['name'], 3600*24*7);
                    Cookie::set('password', $list['password'], 3600*24*7);
                    Cookie::set('email', $list['email'], 3600*24*7);
                    Cookie::set('phone', $list['phone'], 3600*24*7);
                }else{
                    Session::set('id', $list['id']);
                    Session::set('name', $list['name']);
                    Session::set('password', $list['password']);
                    Session::set('email', $list['email']);
                    Session::set('phone', $list['phone']);
                }
                return $this->redirect('index/Index/index');

            }else{
                 $this->error('登陆失败');
            }
          }else{
                $this->error('验证码错误');
          }
    }
    /**
     * @return string
     */
    public function logOut()
    {
        //读取session的值
        $res = Session::get();
        // 删除session
        session_unset($res);
        // 删除 存储的cookie
        Cookie::delete('id');
        Cookie::delete('name');
        Cookie::delete('email');
        Cookie::delete('phone');
        Cookie::delete('password');
        return $this->redirect('index/Index/index');

    }

    public function sms()
    {
        // 注册页面
        return view('index@Login/sms',[
            'title' => '注册用户'
        ]);
    }



}